It is often beneficial to compress frame buffer contents or other image data. For example, in a networked environment in which frame buffer contents must be transmitted over a network from one computing device to another, compression of the frame buffer contents prior to transmission conserves network bandwidth. Compression of image data also helps to conserve the capacity of storage devices used to store the data.
As it happens, the efficiency of compression techniques varies depending on the types of image data to which they are applied. In addition, images differ with regard to the quality of compression that is required to process them in an acceptable manner. Consequently, it is known to pre-process a document prior to compressing it such that the document is decomposed into a number of regions. The contents of the image data contained within the regions are then analyzed so that the regions may be classified according to these contents. Once the regions have been so classified, different compression techniques may be applied to the different regions as appropriate. This technique enables greater efficiency to be achieved when compressing the document than could be achieved by using a single compression technique for the entire document. One decomposition and content-based classification scheme that has proved useful in this context is described in U.S. Pat. No. 6,744,919, titled “Classification of Blocks for Compression Based on Numbers of Distinct Colors” (hereinafter “the '919 patent”).
One of the significant challenges in applying any, of the decomposition and classification techniques of the prior art, however, is their computational complexity. Because the techniques of the prior art consume significant amounts of memory and a significant number of processor cycles, they impact the performance of and increase the cost of the systems that utilize them.